<template>
  <div>
    <h1>查看Vue的过渡动画效果</h1>
    <button @click="isShow = !isShow">控制元素的显示和隐藏</button>
    <transition>
      <div class="text" v-show="isShow">我是动画元素</div>
    </transition>
  </div>
</template>

<script>
export default {
  name: "Trans",
  data() {
    return {
      isShow: true,
    };
  },
};
</script>

<style scoped>
.text {
  width: 200px;
  height: 50px;
  background: yellowgreen;
  font-size: 18px;
  text-align: center;
  line-height: 50px;
}

/* 

  以下类名,只要书写了,就会和transition标签直接关联:
  
  v-enter是控制动画进入之前的样式状态
  v-leave-to:是控制动画离开的最终位置的样式状态


  v-leave:是控制动画离开的初始位置(不太常用,一般使用原始样式)
  v-enter-to:是控制动画进入之后的最终位置(不太常用,一般使用原始样式)

  .v-enter-active:控制元素在进入时动画效果如何呈现
  .v-leave-active:控制元素在离去时动画效果如何呈现
*/
.v-enter,
.v-leave-to {
  opacity: 0;
  transform: translateX(300px) rotate(40deg);
}

.v-enter-active,
.v-leave-active {
  transition: all 1s linear;
}
</style>